<?php
session_start();
if (!isset($_SESSION['code']))
    exit;

// Задаем размеры изображения
$imwidth = 126;
$imheight = 46;

$im = ImageCreate($imwidth, $imheight);
$background_color = ImageColorAllocate($im, 255, 255, 255);
$text_color = ImageColorAllocate($im, 0, 0, 0);
$border_color = ImageColorAllocate($im, 154, 154, 154);

// Генерируем помехи в виде линий
$g1 = imagecolorallocate($im, rand(120,192), rand(120,192), rand(100,192)); // Задаем цвет линий
for ($i = 0; $i <= 100; $i += 6)
    imageline($im, $i-5, 0, $i, $imheight, $g1); // Горизонтальные линии
for ($i = 0; $i <= $imheight; $i += 5)
    imageline($im, 0, $i-9, 100, $i, $g1); // Вертикальные линии

// Генерируем цифровой код на основе данных сессии
$code = substr($_SESSION["code"], 0, 4);
$x = 0;
$stringlength = strlen($code);
for ($i = 0; $i < $stringlength; $i++)
{
    $x = $x + (rand(8, 21));
    $y = rand(2, 10);
    $font = rand(43, 235);
    $single_char = substr($code, $i, 1);
    imagechar($im, $font, $x, $y, $single_char, $text_color);
}

// Передача изображения в Браузер
ob_start();
ImageGif($im);
ImageDestroy($im);
header("Content-Type: image/gif");
header('Content-Disposition: inline; filename=code.gif');
header('Content-Length: '.ob_get_length());
ob_end_flush();

?>